The goal of this research is to support system-level design for CPS devices from methods perspective with corresponding tooling support to bridge the existing design gap. In this work, a set of methods are provided that support different exper- tise to understand CPS design from a system level, instead of only considering one single specific discipline. In order to avoid confusions across the different domains, a list of explained terms is provided. Co-design support guidelines (co-design flows) that consider different backgrounds of the possible designers and different system properties are discussed in detail. Following the step-wise refinement design steps, a CPS is firstly modelled in a top-level model, then detailed out with different focuses of the interest: such as dynamic-behaviour oriented, control-logic oriented and contract oriented. A way of working, to reduce unnecessary design iterations and help engineers to structure the cyber part software in a way that the whole system can act more robust, is also discussed. This includes a general method of modelling the possible faults using a layered controller structure. From these two aspects, the resulting system design is made more robust (fault-tolerant). From a tooling support aspect, a design-support software framework is in- troduced. A co-simulation framework is presented that supports expertise from different domains to work together, which can enable early stage testing to avoid high expenses (both money and time wise) in the development cycle. This framework combines two domain-specific tools with an appropriate synchro- nization scheme for the co-simulation engine. Additionally, a domain-specific scripting language (DCL) is introduced to ease the change of a co-model sce- nario during the co-simulation, such as fault injections. With the assistance of the co-simulation framework, engineers have a practical tool that can facilitate the system-level design of CPS devices. With the aid of design space explo- ration (DSE) tool support, system designers can make better early-stage design choices. The methods and the tooling support introduced in this work are demon- strated in two different case studies with different focuses: the mobile robot case study aims to demonstrate the design space exploration facility; the slider setup is focussed on demonstrating fault-tolerant mechanisms.
展开▼